iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0

https://ithelp.ithome.com.tw/upload/images/20240808/20144113r5eKNJokmh.png

主題

練習 JavaScript Array 的方法,可以對照 MDN 文件:Array.prototype.some() 、 Array.prototype.every() 、 Array.prototype.find() 、 Array.prototype.findIndex()Array.prototype.splice() 、 Array.prototype.slice() 。

成果

完整程式碼
Demo效果

實作重點

Javascript

  1. some():用來判斷元素中有沒有一些符合條件,會回傳 true 或 false

    // Array.prototype.some() // is at least one person 19 or older?
    const isAdult = people.some(person => ((new Date()).getFullYear()) - person.year >= 19);
    console.log(isAdult);
    
  2. every() :用來判斷元素中有沒有全部符合條件,會回傳 true 或 false

    // Array.prototype.every() // is everyone 19 or older?
    const allAdult = people.every(person => ((new Date()).getFullYear()) - person.year >= 19);
    console.log(allAdult);
    
  3. find() :有點像 filter ,會回傳符合你要的資料,只回傳第一筆

    // find the comment with the ID of 823423
    const comment = comments.find(comment => comment.id === 823423)
    console.log(comment);
    
  4. findIndex() :尋找指定元素中有符合條件,會回傳一個 index 值,只回傳第一筆,找不到時回傳 -1

    // Find the comment with this IDs
    const Index = comments.findIndex(comment => comment.id === 823423)
    console.log(Index);
    
  5. splice() :直接對著原始資料操作,刪除陣列資料、也可以加東西,splice(index, 刪除幾個, 要加什麼)

    comments.splice(Index, 1)
    
  6. slice() : 不會動到原始的資料,slice(起, 迄) 是切 index 的前面

    const useSlice = [
      ...comments.slice(0, Index),
      ...comments.slice(Index + 1)
    ]
    console.log(useSlice);
    

額外知識

  • 其實陣列方法這麼多,每個人都會有自己常用的,所以只要挑幾個用就好,忘記的話就 google 陣列大全 ,或是 AI 問一下。最主要是要知道怎麼用。
    • google 陣列大全 很多教學
    • 六角卡斯柏 array 影片,跟著做就會

上一篇
【Day07】06 - Type Ahead
下一篇
【Day09】08 - Fun with HTML5 Canvas 
系列文
AI 時代,基礎要有:JavaScript30 打下紮實基礎31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言